home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il_c / ilViewer.z / ilViewer
Encoding:
Text File  |  2002-10-03  |  33.5 KB  |  793 lines

  1.  
  2.  
  3.  
  4. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiillllVVVViiiieeeewwwweeeerrrr - interactively displays multiple images in an X window
  10.  
  11.  
  12. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  13.      ilDisplay
  14.  
  15.  
  16. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  17.      #include <il/ilCdefs.h>
  18.  
  19.  
  20. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  21.      iiiillllVVVViiiieeeewwwweeeerrrr displays multiple images in an X window and interprets X events
  22.      to manipulate views of those images. An image view can be moved within
  23.      the window, the image can be moved within the view and the size of the
  24.      view can be resized by wiping an edge or corner with the mouse.
  25.  
  26.      UUUUssssiiiinnnngggg tttthhhheeee mmmmoooouuuusssseeee
  27.  
  28.      The left mouse button is normally used to select and drag views.  If the
  29.      shift button is held down when the left button is pressed then additional
  30.      views can be selected.  When the pointer is near the edge of a view its
  31.      shape will be changed to indicate that the left button will adjust the
  32.      size of that view rather than dragging it.  Images that are larger than
  33.      their view can be roamed by dragging the image with the middle mouse
  34.      button.  If the Alt key is held down when then left button is pressed
  35.      then the view will be dragged across a stationary image.  If the Control
  36.      key is held down when the left button is pressed then the view is
  37.      automatically dragged relative to the mouse position when the left button
  38.      was pressed.  If the Control key is held down when the middle button is
  39.      pressed then the image is automatically roamed relative to the mouse
  40.      position when the middle button was pressed.  To summarize, the mouse
  41.      controlled function are:
  42.  
  43.      _d_r_a_g _i_m_a_g_e _o_n_l_y
  44.           Position the pointer on top of the view and drag the mouse with the
  45.           middle mouse button pressed.
  46.  
  47.      _d_r_a_g _v_i_e_w _a_n_d _i_m_a_g_e
  48.           Position the pointer on top of the view but away from the view edge
  49.           and drag the mouse with the left mouse button pressed.
  50.  
  51.      _d_r_a_g _v_i_e_w _o_n_l_y
  52.           Position the pointer on top of the view but away from the view edge
  53.           and drag the mouse with the Alt key and the left mouse button
  54.           pressed.
  55.  
  56.      _w_i_p_e _v_i_e_w _e_d_g_e
  57.           Position the pointer on top of the view and near a view edge or
  58.           corner and drag the mouse with the left mouse button pressed.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  71.  
  72.  
  73.  
  74.      _w_i_p_e _v_i_e_w _s_i_z_e
  75.           Press the control key and position the pointer on top of the view
  76.           and near a view edge or corner and drag the mouse with the left
  77.           mouse button pressed.  Performs a wipeSize operation (see ilDisplay
  78.           man page).
  79.  
  80.      _w_i_p_e _v_i_e_w _s_p_l_i_t
  81.           Press the Alt key and position the pointer on top of the view and
  82.           near a view edge or corner and drag the mouse with the left mouse
  83.           button pressed.  Performs a wipeSplit operation (see ilDisplay man
  84.           page).
  85.  
  86.      _s_e_l_e_c_t _s_i_n_g_l_e _v_i_e_w
  87.           Position the pointer on top of the view and click the left button.
  88.  
  89.      _s_e_l_e_c_t _a_d_d_i_t_i_o_n_a_l _v_i_e_w_s
  90.           Position the pointer on top of the view, hold down the shift key and
  91.           click the left button. If the view is already selected it will be
  92.           deselected.
  93.  
  94.      _a_u_t_o-_d_r_a_g _v_i_e_w
  95.           Press control key and press the left mouse button away from any view
  96.           edge. The view will be dragged automatically relative the starting
  97.           position.
  98.  
  99.      _a_u_t_o-_r_o_a_m _i_m_a_g_e
  100.           Press control key and press the middle mouse button. The image will
  101.           be roamed automatically relative the starting position.
  102.  
  103.      When multiple views are selected the wipe and drag operations will apply
  104.      to all selected views when any one of them is operated on.
  105.  
  106.      OOOOtttthhhheeeerrrr vvvviiiieeeewwww mmmmaaaannnniiiippppuuuullllaaaattttiiiioooonnnnssss
  107.  
  108.      The selected views can be operated on with the following functions:
  109.  
  110.      rrrraaaaiiiisssseeee(((())))    Pops the selected views to the top of the view stack.
  111.  
  112.      lllloooowwwweeeerrrr(((())))    Pushes the selected views to the bottom of the view stack.
  113.  
  114.      cccceeeennnntttteeeerrrr(((())))   Centers the selected views and their corresponding images in
  115.                 the window.  The views are resized to fill the window.
  116.  
  117.      sssspppplllliiiitttt(((())))    Rearranges the selected views side by side with the same
  118.                 portion of each image visible in each view.
  119.  
  120.      aaaabbbbuuuutttt(((())))     Rearranges the selected views side by side with all of the
  121.                 images aligned to same window origin.
  122.  
  123.      ssssaaaavvvveeee(((())))     Saves the selected view in an image file.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  137.  
  138.  
  139.  
  140.      rrrreeeemmmmoooovvvveeee(((())))   Deletes the selected views from the window.
  141.  
  142.      CCCCoooonnnnttttrrrroooolllllllliiiinnnngggg tttthhhheeee vvvviiiieeeewwww ooooppppeeeerrrraaaattttoooorrrrssss
  143.  
  144.      The display operations can be controlled with the following functions:
  145.  
  146.      sssseeeettttDDDDrrrraaaagggg(((())))    Enables or disables the combined image and view drag
  147.                   operation.
  148.  
  149.      sssseeeettttRRRRooooaaaammmm(((())))    Enables or disables the image drag or `roam' operation.
  150.  
  151.      sssseeeettttWWWWiiiippppeeee(((())))    Enables or disables the view edge wipe operation.
  152.  
  153.      sssseeeettttIIIInnnnsssseeeetttt(((())))   Enables or disables the view only drag operation.
  154.  
  155.      sssseeeettttSSSSttttoooopppp(((())))    Controls whether or not wipe operations stop at the edge of
  156.                   the image.
  157.  
  158.      sssseeeettttAAAAuuuuttttooooRRRReeeecccceeeennnntttteeeerrrr(((())))
  159.                   Enables the automatic view recentering capability.
  160.  
  161.      iiiinnnnhhhhiiiibbbbiiiittttAAAAuuuuttttooooRRRReeeecccceeeennnntttteeeerrrr(((())))
  162.                   Disables automatic view recentering for the next redraw.
  163.  
  164. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  165.      CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
  166.  
  167.           ilViewer* ilViewerCreate(Display* xd, Window xw, int mode)
  168.           ilViewer* ilViewerCreateWindow(Display* display, int width,
  169.                                          int height, int attr,
  170.                                          int minComponentSize,
  171.                                          int maxComponentSize,
  172.                                          int mode, long eventMask)
  173.  
  174.      EEEEvvvveeeennnntttt ddddiiiissssppppaaaattttcccchhhh
  175.  
  176.           void ilViewerEvent(ilViewer *obj, XEvent* event)
  177.           int ilViewerEventLoop(ilViewer *obj)
  178.           void ilViewerAddEventCallback(ilViewer* obj, ilCallback* cb,
  179.                                         int autoDelete)
  180.  
  181.      EEEEvvvveeeennnntttt WWWWiiiinnnnddddoooowwww
  182.  
  183.           void ilViewerSetEventWindow(ilViewer *obj, Window eventWindow)
  184.           Window ilViewerGetEventWindow(ilViewer *obj)
  185.  
  186.      DDDDiiiissssppppllllaaaayyyy ooooppppeeeerrrraaaattttoooorrrrssss
  187.  
  188.           void ilViewerRaise(ilViewer *obj)
  189.           void ilViewerLower(ilViewer *obj)
  190.           void ilViewerCenter(ilViewer *obj)
  191.           void ilViewerAbut(ilViewer *obj)
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  203.  
  204.  
  205.  
  206.      VVVViiiieeeewwww mmmmaaaannnnaaaaggggeeeemmmmeeeennnntttt
  207.  
  208.           ilStatus ilViewerSave(ilViewer *obj, const char* name,
  209.                                 ilAreaOption opt, iflFormat* format,
  210.                                 iflFileConfig* fcfg, int append)
  211.           ilStatus ilViewerSaveByDescriptor(ilViewer *obj, iflFileDesc* desc,
  212.                                             ilAreaOption opt,
  213.                                             iflFileConfig* fcfg,
  214.                                             int append)
  215.           void ilViewerRemove(ilViewer *obj)
  216.  
  217.      VVVViiiieeeewwww sssseeeelllleeeeccccttttiiiioooonnnn
  218.  
  219.           void ilViewerSetSelected(ilViewer *obj, int flag, ilView* view)
  220.           int ilViewerGetNumSelected(ilViewer *obj)
  221.           ilView* ilViewerGetSelected(ilViewer *obj, int index)
  222.  
  223.      CCCCuuuurrrrssssoooorrrr MMMMaaaannnnaaaaggggeeeemmmmeeeennnntttt
  224.  
  225.           ilView* ilViewerGetCursor(ilViewer *obj, int* X, int* Y)
  226.           void ilViewerSetCursor(ilViewer* obj, Cursor cur)
  227.  
  228.      MMMMooooddddeeee ccccoooonnnnttttrrrroooollll
  229.  
  230.           void ilViewerSetDrag(ilViewer *obj, int allow)
  231.           void ilViewerSetRoam(ilViewer *obj, int allow)
  232.           void ilViewerSetWipe(ilViewer *obj, int allow)
  233.           void ilViewerSetInset(ilViewer *obj, int allow)
  234.           void ilViewerSetStop(ilViewer *obj, int flag)
  235.           void ilViewerSetAutoRecenter(ilViewer *obj, int enable)
  236.           void ilViewerInhibitAutoRecenter(ilViewer *obj)
  237.  
  238.      SSSSeeeelllleeeeccccttttiiiioooonnnn ccccaaaallllllllbbbbaaaacccckkkk ssssuuuuppppppppoooorrrrtttt
  239.  
  240.           void ilViewerAddSelectionCallback(ilViewer *obj, ilCallback* cb,
  241.                                             int autoDelete)
  242.           ilStatus ilViewerRemoveSelectionCallback(ilViewer *obj,
  243.                                                    ilCallback* cb)
  244.  
  245.  
  246.  
  247. FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
  248.      iiiillllVVVViiiieeeewwwweeeerrrr(((())))
  249.  
  250.           ilViewer* ilViewerCreateWindow(Display* display, int width,
  251.                                          int height, int attr,
  252.                                          int minComponentSize,
  253.                                          int maxComponentSize,
  254.                                          int mode, long eventMask)
  255.           ilViewer* ilViewerCreate(Display* xd, Window xw, int mode)
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  269.  
  270.  
  271.  
  272.           Creates an image viewer in the X window specified by _d_i_s_p_l_a_y and
  273.           _w_i_n_d_o_w. If OpenGL rendering is supported by the visual associated
  274.           with the window, then OpenGL is used, otherwise X is used. The last
  275.           parameter, _m_o_d_e can be used to specify various display modes such as
  276.           _i_l_D_e_f_e_r.
  277.  
  278.           The second version of the constructor creates an X window _w_i_d_t_h
  279.           pixels wide, _h_e_i_g_h_t pixels high with the attributes specified by
  280.           _a_t_t_r, _m_i_n_C_o_m_p_o_n_e_n_t_S_i_z_e and _m_a_x_C_o_m_p_o_n_e_n_t_S_i_z_e for the visual class.
  281.           See iiiillllXXXXWWWWiiiinnnnddddoooowwwwIIIImmmmgggg for more information. In addition, it will select
  282.           the X events passed in _e_v_e_n_t_M_a_s_k for input.
  283.  
  284.      aaaabbbbuuuutttt(((())))
  285.  
  286.           void ilViewerAbut(ilViewer *obj)
  287.  
  288.  
  289.           Rearranges the selected views side by side with all of the images
  290.           aligned to same window origin.
  291.  
  292.      aaaaddddddddEEEEvvvveeeennnnttttCCCCaaaallllllllbbbbaaaacccckkkk(((())))
  293.  
  294.           void ilViewerAddEventCallback(ilViewer *obj, ilCallback* cb,
  295.                                             int autoDelete)
  296.  
  297.  
  298.           This method adds a callback that will be triggered whenever an event
  299.           arrives to the viewer. Either ilViewerEventMethodCB or
  300.           ilViewerEventFunctionCB can be used with ilViewerAddEventCallback().
  301.           The callback method or function has the following prototype:
  302.  
  303.               func(UserArgType userArg, XEvent* callerArg)
  304.  
  305.  
  306.           To define and use an event callback to a member function you might
  307.           do something like:
  308.  
  309.               ...
  310.               ilStatus Bar::event(Foo*, XEvent*) { ... }
  311.               ...
  312.               typedef ilViewerEventMethodCB<Bar,Foo*> EventCallback;
  313.  
  314.               Bar bar;
  315.               Foo foo;
  316.               EventCallback eventCb(&bar, Bar::event, &foo);
  317.  
  318.               viewer->addEventCallback(&eventCb);
  319.  
  320.  
  321.      aaaaddddddddSSSSeeeelllleeeeccccttttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkk(((())))
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  335.  
  336.  
  337.  
  338.           void ilViewerAddSelectionCallback(ilViewer *obj, ilCallback* cb,
  339.                                             int autoDelete)
  340.  
  341.  
  342.           This method adds a callback that will be triggered whenever the set
  343.           of selected view changes.  Either ilViewerSelectMethodCB or
  344.           ilViewerSelectFunctionCB can be used with
  345.           ilViewerAddSelectionCallback().  The callback method or function has
  346.           the following prototype:
  347.  
  348.               func(UserArgType userArg, ilViewer* callerArg)
  349.  
  350.  
  351.           To define and use a selection callback to a member function you
  352.           might do something like:
  353.  
  354.               ...
  355.               ilStatus Bar::select(Foo*, ilViewer*) { ... }
  356.               ...
  357.               typedef ilViewerSelectMethodCB<Bar,Foo*> SelectionCallback;
  358.  
  359.               Bar bar;
  360.               Foo foo;
  361.               SelectionCallback selectCb(&bar, Bar::select, &foo);
  362.  
  363.               viewer->addSelectionCallback(&selectCb);
  364.  
  365.  
  366.      cccceeeennnntttteeeerrrr(((())))
  367.  
  368.           void ilViewerCenter(ilViewer *obj)
  369.  
  370.  
  371.           Centers the selected views and their corresponding images in the
  372.           window.  The views are resized to fill the window.
  373.  
  374.      eeeevvvveeeennnntttt(((())))
  375.  
  376.           void ilViewerEvent(ilViewer *obj, XEvent* event)
  377.  
  378.  
  379.           Use this function to pass an X-event to the viewer.  The viewer will
  380.           process this event and perform any required operations based on the
  381.           mouse events.  A simple event loop might look like.
  382.  
  383.               XSelectInput(dpy, win, ExposureMask|KeyPressMask|
  384.                                      PointerMotionMask|PointerMotionHintMask|
  385.                                      ButtonPressMask|ButtonReleaseMask);
  386.               ilViewer viewer(dpy, win);
  387.               XEvent event;
  388.               int active = 1;
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  401.  
  402.  
  403.  
  404.               while (active) {
  405.                   XNextEvent(dpy, &event);
  406.                   switch (event.type) {
  407.                       case DestroyNotify:
  408.                           active = 0;
  409.                           break;
  410.                       default:
  411.                           viewer.event(&event);
  412.                           break;
  413.                   }
  414.               }
  415.  
  416.  
  417.      eeeevvvveeeennnnttttLLLLoooooooopppp(((())))
  418.  
  419.           int ilViewerEventLoop(ilViewer *obj)
  420.  
  421.  
  422.           This member function provides an X event loop for processing X
  423.           events. It implements some action based on some _K_e_y_P_r_e_s_s events and
  424.           calls eeeevvvveeeennnntttt() to handle other events. Note that events are ignored
  425.           if they do not occur in the display window or the event window. See
  426.           sssseeeettttEEEEvvvveeeennnnttttWWWWiiiinnnnddddoooowwww(). It returns _T_r_u_e if _D_e_s_t_r_o_y_N_o_t_i_f_y was received,
  427.           otherwise it returns _F_a_l_s_e.
  428.  
  429.           The _H_o_m_e key causes all selected views to be re-centered and resized
  430.           to the display window. The _U_p and _D_o_w_n arrow keys cause the selected
  431.           views to be poped to the top or pushed to the bottom respectively.
  432.           The _E_s_c_a_p_e key causes the event loop to be exited.
  433.  
  434.      ggggeeeettttCCCCuuuurrrrssssoooorrrr(((())))
  435.  
  436.           ilView* ilViewerGetCursor(ilViewer *obj, int* X, int* Y)
  437.  
  438.  
  439.           Returns the current window relative mouse position, based on the
  440.           events passed to eeeevvvveeeennnntttt(((()))) so far.
  441.  
  442.      ggggeeeettttEEEEvvvveeeennnnttttWWWWiiiinnnnddddoooowwww(((())))
  443.  
  444.           Window ilViewerGetEventWindow(ilViewer *obj)
  445.  
  446.  
  447.           Returns the current event window. The event window is checked during
  448.           event handling and events received from different windows are
  449.           ignored. See iiiillllVVVViiiieeeewwwweeeerrrrSSSSeeeettttEEEEvvvveeeennnnttttWWWWiiiinnnnddddoooowwww().
  450.  
  451.      ggggeeeettttNNNNuuuummmmSSSSeeeelllleeeecccctttteeeedddd(((())))
  452.  
  453.           int ilViewerGetNumSelected(ilViewer *obj)
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  467.  
  468.  
  469.  
  470.           Returns the number of views currently selected.
  471.  
  472.      ggggeeeettttSSSSeeeelllleeeecccctttteeeedddd(((())))
  473.  
  474.           ilView* ilViewerGetSelected(ilViewer *obj, int index)
  475.  
  476.  
  477.           Returns the view selected view indicated by _i_n_d_e_x. This value must
  478.           be between 0 and getNumSelected()-1.
  479.  
  480.      iiiinnnnhhhhiiiibbbbiiiittttAAAAuuuuttttooooRRRReeeecccceeeennnntttteeeerrrr(((())))
  481.  
  482.           void ilViewerInhibitAutoRecenter()
  483.  
  484.  
  485.           Temporarily inhibits the automatic recentering facility for the next
  486.           redraw. Following the next redraw, this facility will be re-enabled
  487.           if it was enabled prior to this call. A call to
  488.           iiiillllVVVViiiieeeewwwweeeerrrrSSSSeeeettttAAAAuuuuttttooooRRRReeeecccceeeennnntttteeeerrrr will reset this inhibit.
  489.  
  490.      lllloooowwwweeeerrrr(((())))
  491.  
  492.           void ilViewerLower(ilViewer *obj)
  493.  
  494.  
  495.           Pushes the selected views to the bottom of the view stack.
  496.  
  497.      rrrraaaaiiiisssseeee(((())))
  498.  
  499.           void ilViewerRaise(ilViewer *obj)
  500.  
  501.  
  502.           Pops the selected views to the top of the view stack.
  503.  
  504.      rrrreeeemmmmoooovvvveeee(((())))
  505.  
  506.           void ilViewerRemove(ilViewer *obj)
  507.  
  508.  
  509.           Deletes the selected views from the window.
  510.  
  511.      rrrreeeemmmmoooovvvveeeeEEEEvvvveeeennnnttttCCCCaaaallllllllbbbbaaaacccckkkk(((())))
  512.  
  513.           ilStatus ilViewerRemoveEventCallback(ilViewer *obj,
  514.                                                    ilCallback* cb)
  515.  
  516.  
  517.           This method removes a Event callback previously added with
  518.           iiiillllVVVViiiieeeewwwweeeerrrrAAAAddddddddEEEEvvvveeeennnnttttCCCCaaaallllllllbbbbaaaacccckkkk().
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  533.  
  534.  
  535.  
  536.      rrrreeeemmmmoooovvvveeeeSSSSeeeelllleeeeccccttttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkk(((())))
  537.  
  538.           ilStatus ilViewerRemoveSelectionCallback(ilViewer *obj,
  539.                                                    ilCallback* cb)
  540.  
  541.  
  542.           This method removes a selection callback previously added with
  543.           iiiillllVVVViiiieeeewwwweeeerrrrAAAAddddddddSSSSeeeelllleeeeccccttttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkk().
  544.  
  545.      ssssaaaavvvveeee(((())))
  546.  
  547.           ilStatus ilViewerSave(ilViewer *obj, const char* name,
  548.                                 ilAreaOption opt, iflFormat* format,
  549.                                 iflFileConfig* fcfg, int append)
  550.           ilStatus ilViewerSaveByDescriptor(ilViewer *obj,
  551.                                             iflFileDesc* desc,
  552.                                             ilAreaOption opt,
  553.                                             iflFileConfig* fcfg,
  554.                                             int append)
  555.  
  556.  
  557.           Saves the selected view in the image file specified by _n_a_m_e.  The
  558.           file format of the created file is selected by _f_o_r_m_a_t.  The
  559.           attributes of the saved file can be controlled with _f_c_f_g.  See
  560.           iiiiffffllllFFFFiiiilllleeeeCCCCoooonnnnffffiiiigggg(3) for more details.  If _a_p_p_e_n_d is TRUE, the viewed
  561.           image will be appends to the specified image file; otherwise it will
  562.           overwrite it, if it already exists.
  563.  
  564.           The alternate form taking a _d_e_s_c argument, encapsulates the _n_a_m_e and
  565.           _f_o_r_m_a_t arguments in this single argument.  See iflFileDesc(3) for
  566.           more details.
  567.  
  568.      sssseeeettttAAAAuuuuttttooooRRRReeeecccceeeennnntttteeeerrrr(((())))
  569.  
  570.           void ilViewerSetAutoRecenter(ilViewer *obj, int enable)
  571.  
  572.  
  573.           Sets the automatic recentering facility for this viewer to _e_n_a_b_l_e.
  574.           By default, this capability is enabled.  sssseeeettttCCCCuuuurrrrssssoooorrrr(((())))
  575.  
  576.           void ilViewerGetCursor(ilViewer *obj, Cursor cur)
  577.  
  578.  
  579.           Sets the cursor to be displayed over this viewer to ccccuuuurrrr. If ccccuuuurrrr is
  580.           None, then the original cursor configuration will be restored.
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  599.  
  600.  
  601.  
  602.      sssseeeettttDDDDrrrraaaagggg(((())))
  603.  
  604.           void ilViewerSetDrag(ilViewer *obj, int allow)
  605.  
  606.  
  607.           If _a_l_l_o_w is TRUE the combined image and view drag operation will be
  608.           enabled; otherwise it is disabled.
  609.  
  610.      sssseeeettttEEEEvvvveeeennnnttttWWWWiiiinnnnddddoooowwww(((())))
  611.  
  612.           void ilViewerSetEventWindow(ilViewer *obj, Window eventWindow)
  613.  
  614.  
  615.           Sets the event window to _e_v_e_n_t_W_i_n_d_o_w. The event window is checked
  616.           during event handling and events received from different windows are
  617.           ignored. Note that when using overlays, events occur in the overlay
  618.           window rather than in the main window. Therefore, it is necessary to
  619.           set the event window to the overlay window for proper event
  620.           handling.
  621.  
  622.      sssseeeettttIIIInnnnsssseeeetttt(((())))
  623.  
  624.           void ilViewerSetInset(ilViewer *obj, int allow)
  625.  
  626.  
  627.           If _a_l_l_o_w is TRUE the view only drag operation will be enabled;
  628.           otherwise it is disabled.
  629.  
  630.      sssseeeettttRRRRooooaaaammmm(((())))
  631.  
  632.           void ilViewerSetRoam(ilViewer *obj, int allow)
  633.  
  634.  
  635.           If _a_l_l_o_w is TRUE the image only roam operation will be enabled;
  636.           otherwise it is disabled.
  637.  
  638.      sssseeeettttSSSSeeeelllleeeecccctttteeeedddd(((())))
  639.  
  640.           void ilViewerSetSelected(ilViewer *obj, int flag, ilView* view)
  641.  
  642.  
  643.           If _f_l_a_g is TRUE the indicated view will be selected; otherwise the
  644.           view is deselected.  If _v_i_e_w is NULL, then all views will be
  645.           affected.
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  665.  
  666.  
  667.  
  668.      sssseeeettttSSSSttttoooopppp(((())))
  669.  
  670.           void ilViewerSetStop(ilViewer *obj, int flag)
  671.  
  672.  
  673.           If _f_l_a_g is TRUE then wipe operations stop at the edge of the image;
  674.           otherwise they are allowed to continue beyond the image edge.
  675.  
  676.      sssseeeettttWWWWiiiippppeeee(((())))
  677.  
  678.           void ilViewerSetWipe(ilViewer *obj, int allow)
  679.  
  680.  
  681.           If _a_l_l_o_w is TRUE the view edge wipe operation will be enabled;
  682.           otherwise it is disabled.
  683.  
  684.  
  685. IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
  686.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllDDDDiiiissssppppllllaaaayyyy
  687.      ilDisplayAbort(), ilDisplayAddStereoView(), ilDisplayAddStereoViewTop(),
  688.      ilDisplayAddStereoViewZTop(), ilDisplayAddStereoViewZ(),
  689.      ilDisplayAddXView(), ilDisplayAddXViewTop(), ilDisplayAddView(),
  690.      ilDisplayAddViewTop(), ilDisplayAddViewPtr(),
  691.      ilDisplayAddViewChangeCallback(), ilDisplayAlignImg(),
  692.      ilDisplayAlignView(), ilDisplayCalcWindowSize(), ilDisplayDeleteView(),
  693.      ilDisplayDeleteViewIdx(), ilDisplayDestroyNotify(), ilDisplayDisplay(),
  694.      ilDisplayEnableAutoAbort(), ilDisplayEnableCallback(),
  695.      ilDisplayEnableFrontRedraw(), ilDisplayEnableQueueing(),
  696.      ilDisplayFindEdge(), ilDisplayFindView(), ilDisplayFlush(),
  697.      ilDisplayGetBackground(), ilDisplayGetCallback(),
  698.      ilDisplayGetColorModel(), ilDisplayGetColormap(), ilDisplayGetDispOp(),
  699.      ilDisplayGetDisplay(), ilDisplayGetGLXContext(), ilDisplayGetILDisplay(),
  700.      ilDisplayGetLoc(), ilDisplayGetMargin(), ilDisplayGetMouse(),
  701.      ilDisplayGetMouseOrientation(), ilDisplayGetNumViews(),
  702.      ilDisplayGetPixel(), ilDisplayGetPos(), ilDisplayGetRoamLimit(),
  703.      ilDisplayGetRoamRate(), ilDisplayGetSize(), ilDisplayGetStatus(),
  704.      ilDisplayGetViewImg(), ilDisplayGetViewIdx(), ilDisplayGetViewIndexImg(),
  705.      ilDisplayGetViewIndex(), ilDisplayGetVisibleArea(), ilDisplayGetWindow(),
  706.      ilDisplayGetXWindowImg(), ilDisplayIsAutoAbortEnabled(),
  707.      ilDisplayIsCallbackEnabled(), ilDisplayIsDefer(),
  708.      ilDisplayIsDoubleBuffer(), ilDisplayIsFrontRedrawEnabled(),
  709.      ilDisplayIsNop(), ilDisplayIsQueueingEnabled(), ilDisplayIsRgb(),
  710.      ilDisplayIsSelected(), ilDisplayIsStereo(), ilDisplayMapTileFloat(),
  711.      ilDisplayMapTile(), ilDisplayMapXYFloat(), ilDisplayMapXY(),
  712.      ilDisplayMoveImg(), ilDisplayMoveView(), ilDisplayPaint(),
  713.      ilDisplayPaintArea(), ilDisplayPop(), ilDisplayPush(), ilDisplayQPaint(),
  714.      ilDisplayQPaintArea(), ilDisplayRedraw(), ilDisplayRedrawArea(),
  715.      ilDisplayRemoveViewChangeCallback(), ilDisplaySave(), ilDisplaySelect(),
  716.      ilDisplaySetBackground(), ilDisplaySetBorderColor(),
  717.      ilDisplaySetBorderStyle(), ilDisplaySetBorderWidth(),
  718.      ilDisplaySetBorders(), ilDisplaySetCallback(), ilDisplaySetColormap(),
  719.      ilDisplaySetDefer(), ilDisplaySetLoc(), ilDisplaySetMargin(),
  720.  
  721.  
  722.  
  723.                                                                        PPPPaaaaggggeeee 11111111
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))        IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll        iiiillllVVVViiiieeeewwwweeeerrrr((((3333))))
  731.  
  732.  
  733.  
  734.      ilDisplaySetMode(), ilDisplaySetMouse(), ilDisplaySetNop(),
  735.      ilDisplaySetPixel(), ilDisplaySetRoamLimit(), ilDisplaySetStatus(),
  736.      ilDisplaySetVisibleArea(), ilDisplaySetWindow(), ilDisplaySplit(),
  737.      ilDisplaySwap(), ilDisplaySyncPaint(), ilDisplayUnselect(),
  738.      ilDisplayUpdate(), ilDisplayUpdateWindow(), ilDisplayWipe(),
  739.      ilDisplayWipeSize(), ilDisplayWipeSplit()
  740.  
  741.  
  742. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  743.      ilDisplay, ilXWindowImg, iflFileDesc
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.                                                                        PPPPaaaaggggeeee 11112222
  790.  
  791.  
  792.  
  793.